Вырезать любую произвольную программу с помощью динамического компоновщика?

Одной из проблем с использованием chroots является получение всех исполняемых файлов и библиотек.

Мне просто пришло в голову, что может быть другой путь. Проект TSocks использует метод, который они называют «перехватчиком разделяемой библиотеки» для перехвата системных вызовов из .so, который динамически загружается в произвольные исполняемые файлы.

Разве не удалось бы создать общую библиотеку, которая закручивает (и уменьшает корневые привилегии) ​​прямо перед точкой входа main ()? Затем вы сможете использовать функции chroot в любой программе вашей системы, не настраивая какое-либо специальное дерево файлов (за исключением того, что все еще нужна копия некоторых узлов-разработчиков).

Кто-нибудь сделал это уже? (пока не удается найти в Google).

Кто-нибудь знает, что syscall может быть подключен, что происходит прямо перед main ()?