Suponho que você também queira gerar o sinalizador --exclude para cada nome inserido pelo usuário, ou seja, se um usuário inserir foo bar , você deseja que a linha de comando tenha algo assim?
rsync ... --exclude foo --exclude bar ...
Desde que você marcou isso com bash , você pode usar read -a para ler as palavras dadas pelo usuário diretamente para um < href="http://www.gnu.org/s/bash/manual/html_node/Arrays.html"> matriz e, em seguida, criar outra matriz para conter os parâmetros necessários para rsync :
read -a dirs
excludes=()
for d in "${dirs[@]}" ; do
excludes+=(--exclude "$d")
done
rsync -RravhP "$Code" "${excludes[@]}" "$destination"
Sem -r to read você ainda pode escapar de nomes com espaços, digitando algo como aa bb\ cc para obter os dois nomes aa e bb cc .