Se o script for executado somente quando você estiver logado, você pode definir a senha em uma variável de ambiente que é lida quando o script é executado - defina-a uma vez por sessão em vez de codificá-la ou solicitá-la. Por exemplo:
# log in to your session
[user@host] export pass=1234abc
[user@host] my-ftp.sh
Observe o espaço extra na frente do comando de exportação - esta é uma opção na maioria dos shells (como Bash ou Zsh) que impedirá que o comando seja gravado no histórico dos shells. Isso permitiria que você lesse a senha da variável de ambiente ${pass}
dentro do script; mas não tem a senha registrada em um arquivo no host compartilhado.
Caso contrário, não solicitando a senha toda vez que o script for executado, não há uma maneira real de mantê-lo protegido para um usuário compartilhado - tudo o que você tem acesso de forma não interativa como usuário compartilhado, para que seus colegas . Você poderia tentar salvar a senha em um arquivo que deve ser lido em tempo de execução, mas o usuário compartilhado ainda precisaria acessar o arquivo e, no máximo, seria a segurança através da obscuridade (que não é a segurança de todo).