To answer my own question, I'm seem to be getting this behaviour because I was running the cygwin rsync command under cmd.exe, not cygwin's own shell. This works from cmd.exe: echo rsync -vv -essh -ac --delete ik at boat:/usr/local/cvs /cygdrive/c/cvs-bup/rsync | bash --login The bash --login option is needed.