Parece que o que você precisa saber é a localização atual do seu script, independentemente de como ele é chamado (com um caminho absoluto, um caminho relativo ou via $ PATH do shell). Depois de saber disso, você pode referenciar seu outro executável por meio de um caminho relativo ao local atual.
Você pode obter a localização atual do script em execução com o seguinte:
MYLOC='dirname $0'
... e, em seguida, execute seu executável relativo usando essa variável:
$MYLOC/../filename
Isso funciona independentemente do diretório de trabalho atual (por exemplo, $ pwd) e até funciona se o seu script for encontrado e executado via $ PATH do shell ... desde que o script seja executado por um caminho absoluto ou relativo, $ 0 tem o valor associado ... ou, se o script for executado procurando o $ PATH do shell, $ 0 contém o caminho completo e absoluto para o arquivo de script.