Да, я предполагаю, что это идиотизм какой-то, но всё же, как?
Для этого надо как минимум разобраться, что библиотека представляет собой в памяти, и понять, что это детали не уровня "C++", а уровня "ОС".
После этого можно посмотреть на то, как загружаются ELF (или PE, или что там в твоей ОС), что такое сегменты и что такое динамические релокации. После этого уже можно будет понять, что отдельно друг от друга сегменты библиотеки двигать нет смысла (потому что относительные ссылки между ними не помечены релокациями), а всё целиком имеет смысл двигать только если после перемещения обновлять места динамических релокаций.