Почему ты не хочешь readlink("/proc/self/exe")
?Это способ найти путь к исполняемому файлу в Linux.
Единственный другой способ - извлечь PATH из среды с помощью getenv()
и просмотреть каталоги PATH в поисках соответствия для argv [0].Первый вариант намного проще.
Или напишите сценарий для запуска программы после того, как сначала выполните which
на исполняемом файле и передадите результат в качестве аргумента командной строки или какого-либо такого хака.