Na minha experiência, variações no script ou no comportamento executável geralmente resultam do ambiente (PATH, etc.). Por esse motivo, recomendo usar um script de wrapper para configurar o ambiente para o script ou executável de interesse e, em seguida, usar env -i
para testar a execução do wrapper.
Ele também pode ajudar a remover o ambiente antes de configurar qualquer variável de ambiente necessária no script de wrapper.
Isso também é útil para o cron, Jenkins, Rundeck e muitas outras maneiras de invocar scripts ou executáveis.