If you are actually planning on doing something like this, instead of just thinking about doing it, you should always ask your company's lawyers and do as they tell you.
The Free Software Foundation takes the view that separate processes are different programs and code running in the same process is one program:
Where's the line between two separate programs, and one program with two parts? This is a legal question, which ultimately judges will decide. We believe that a proper criterion depends both on the mechanism of communication (exec, pipes, rpc, function calls within a shared address space, etc.) and the semantics of the communication (what kinds of information are interchanged).
If the modules are included in the same executable file, they are definitely combined in one program. If modules are designed to run linked together in a shared address space, that almost surely means combining them into one program.
By contrast, pipes, sockets and command-line arguments are communication mechanisms normally used between two separate programs. So when they are used for communication, the modules normally are separate programs. But if the semantics of the communication are intimate enough, exchanging complex internal data structures, that too could be a basis to consider the two parts as combined into a larger program.
If the FSF's view is correct, then the whole program, commercial code included, is one big derivative work of the original library. That means you have to license the whole thing under the GPL. Whenever you distribute binaries of a GPL'd program, you must also distribute source that can be compiled into those binaries. In other words, you must distribute all of the source, not just the modified library.