The only pertinent question is whether a program B designed to require library A is a derived work of library A or not - and this is a question for the copyright courts, the license of library A has nothing to say about this.
Now, I think even if it were established that program B is not a derived work of library A, it could be possible for library A to have a license that says "you're not allowed to distribute this library to others unless both you and they agree to never link program B or works derived from it with library A". The GPL could be modified to say something like this, and it may still match its original goals - though it may be more difficult to litigate this type of license term (in many countries, license or contract terms can be declared too onerous and be ignored).
My point wasn't about copying into memory being a license violation, rather the fact that you're combining two works together into a single program that violates the license of one of the works. Who is liable for the violation in that case? The user who combined the works together or the developer who created a program that instructs the user to combine those works together?
Perhaps you're selling a book that's derivative of Stephen King's novels, but instead of actually including text from his novels you insert pages that just say "insert chapter 5 from the Shawshank Redemption here". Even though it contains instructions to create a derivative work, it is not in itself a derivative work.
However if the reader follows those instructions and creates a completed work by inserting those chapters as instructed. That completed work definitely is a derivative work of Stephen King's novels.
I don't think it ever will be.
> program B designed to require library A
How do you design program B to require A, without inspiration from A?
I believe you can't. For a silly example, take a puzzle peice. To integrate support for your puzzle in my work, I'm gonna have to copy some of your edges.