Я думаю, что лучший способ сделать это - установить переменную окружения и использовать execve()
для запуска двоичного файла. Предположительно, вы можете просто установить PATH
, а затем execve()
оболочку, которая будет использовать PATH для поиска копии исполняемого файла. Эквивалент библиотеки должен был бы установить LD_LIBRARY_PATH
и execve()
двоичный файл, который имеет эту библиотеку в качестве зависимости.
В любом случае вы не изменяете внешнюю среду, а только производите измененную копию, которая используется с execve()
.