通常、プログラム(Linuxの場合)はLD_LIBRARY_PATHを使用して共有ライブラリを検索しますが、LD_LIBRARY_PATHを永続的に変更せずに、カスタムパスを使用したいと思います。
基本的に、bash-wrapperはそれを簡単に実現できます。
#!/bin/sh
export LD_LIBRARY_PATH=/my_lib_path/
/my_bin_path/myprogram $*
(Bashはこのスクリプト内のLD_LIBRARY_PATHのみを変更し、永続的には変更しません)
醜いbash-hackを使わずに、純粋なCで同じことを1つの実行可能ファイルで実行できるかどうか疑問に思いました。すべてのパスとライブラリの正確な名前は、コンパイル時にわかります。