Se $dec
não tiver valor, você está fazendo ls ""
. Experimente e você verá a mesma mensagem de erro. Nota ls ""
NÃO é o mesmo que ls
(sem argumentos). Verifique seu script para ver por que $dec
não está definido.
Se, como você diz, $dec
for definido antes de executar o script, provavelmente será necessário exportá-lo para que seja conhecido pelos scripts executados.
export dec
./script.sh
Leia isto para obter mais informações sobre export
: link