Desde que você não esteja fazendo nada sutil com o protocolo FTP, o que não é o caso aqui, a maneira mais fácil é usar comandos normais de cópia e monte o servidor FTP em um diretório. Você pode usar o LftpFS , que é um FUSE sistema de arquivos que usa o lftp sob o capô. As alternativas incluem CurlFtpFS . Para SFTP em vez de FTP, use SSHFS .
#!/bin/sh
trap 'fusermount -u mnt; rmdir mnt' EXIT INT TERM HUP
set -e
mkdir mnt
sshpass -p"$rpass" sshfs "$ruser@$ripaddress:/" mnt
cd "mnt/$rrdir"
ls -l "$srfile"