Você tem que fazer a diferença entre os programas que são compilados para código de máquina a partir de uma linguagem compilada como C e linguagem interpretada como bash. Um programa compilado consiste em código de máquina que o computador pode executar sem ajuda adicional.
Com um script, você precisa informar ao computador qual interpretador ele deve usar. Por exemplo, você pode executar um script bash colocando a linha #!/bin/bash
primeiro no arquivo. Diz ao computador, que deve usar o bash-shell como o interpretador. Se você ativar o bit executável nas permissões de arquivo, poderá executá-lo a partir da linha de comando, como qualquer outro programa. Você pode deixar a extensão .sh longe.