Você pode usar if para verificar. Por exemplo, você pode fazer algo assim em vez das duas últimas linhas do script acima:
if [ -n "$1" ]; then
echo "$1" >> $file
else
exec leafpad $file
fi
Isso diz: se o primeiro argumento não for uma string vazia (é o que faz o -n test), execute echo , senão execute leafpad .
Você pode ler mais sobre isso aqui:
Espero que isso ajude.