Есть сложная цепочка вызовов программ (одни процессы запускают несколько других процессов).
Возникла потребность для решения проблем совместимости выполнить некоторые предварительные действия перед запуском бинарного исполняемого файла
progX (его вызываю не я, а другие процессы).
mv progX progX_orig
Создаём собственный progX:
#!/bin/sh
# некоторые действия:
# обработка входных параметров,
# установка дополнительных переменных окружения,
# и т.д. ...
path_to_dir/progX_orig $*
Такой подход вроде работает.
Тем не менее, является ли этот метод абсолютно прозрачным и безопасным с точки зрения ОС?
Вдогонку - есть ли возможность сделать в баше вызов execve, чтобы минимизировать различия? Что будет, если дочерние процессы начнут искать родительский процесс?