You can distribute software A as GPL, but only without the additional features provided by proprietary library B. If you bind new features in software A to proprietary library B, then you must also distribute B's source code under the GPL. Binding the two softwares in this fashion creates a derivative work.
The only way you might get away with licensing A separately is by dynamically binding library B at runtime. If the library isn't made available by the user, the features simply won't be present in Software A. But software A must be able to substantially function without library B.
There are other considerations as well. The FSF only considers such an arrangement valid if the communication between Software A and Library B "takes place at arm's length." The exact meaning of "arm's length" is not specifically stated by the FSF, but it's probably fair to say that your software can't be the only software that uses library B.
Further, to fulfill the spirit of the GPL, you must allow the consumer of Software A to substitute a suitable library for Library B, or even to write their own. That's the freedom that the GPL is designed to provide; the freedom to use your software in any way they see fit, including redistributing it to others (provided they also follow the GPL).
So it is imperative that Software A's functionality is not impaired in any substantial way by the absence of proprietary library B.