O executável firefox
é um script de shell no seu sistema.
Algumas aplicações empregam um script wrapper que configura o ambiente de execução para o aplicativo, possivelmente para permitir uma melhor integração com o sabor atual do Unix, ou para fornecer maneiras alternativas de executar o aplicativo (novos conjuntos de opções de linha de comando, etc. ) que o aplicativo em si não está fornecendo. Às vezes, um script wrapper é usado para escolher o binário real correto a ser executado com base na maneira como esse script foi chamado.
Por exemplo, o compilador MPI ("Message Passing Interface") C nada mais é do que um script wrapper em torno de cc
(ou qualquer compilador configurado para uso) que garanta que os cabeçalhos MPI estejam no caminho de pesquisa e que a biblioteca MPI está vinculada ao compilar.
Dê uma olhada neste script para ver quais binários ele está chamando sob quais circunstâncias.