Just load `libmsg.so` and get the address of the symbols that you need. If `libmsg.so` depends on `libnet.so` then the OS loader (`ld`) should load automatically `libnet.so` if `libmsg.so` is implicitly linked with `libnet.so` (you can check the `.dynamic` section of `libmsg.so` with `readelf` ( _readelf -d libmsg.so | grep NEEDED_ ) or use `ldd` to see its dynamic dependencies ( _ldd libmsg.so_ )).
If `libmsg.so` is not implicitly linked with `libnet.so` then `libmsg.so` should load `libnet.so` explicitly.
