Я использую очень мелкий текст SciTE и простой текстовый редактор.
Вам нужно $ ORIGIN в вашем RPATH с помощью соответствующей опции ld или другого инструмента Дарвина. См. this и this .
Помните, что $ действительно должен стоять в пути, поэтому вам нужно заключить его в кавычки или экранировать его в командной строке ссылки.
Обновить: Вы можете увидеть, что компоновщик фактически поместил в ваш исполняемый файл с помощью
readelf -d /path/to/exe | grep RPATH
Вот как должен выглядеть результат:
0x0000000f (RPATH) Library rpath: [$ORIGIN]
Оберните вашу программу в сценарий оболочки:
#!/bin/sh
PROGRAM_DIRECTORY="`dirname "$0"`"
export LD_LIBRARY_PATH="$PROGRAM_DIRECTORY"
"$PROGRAM_DIRECTORY/program_executable" "$@"
Если вы запустите этот сценарий (вместо вашего исполняемого файла), ваша программа установит ссылку.