After googling about using ssh-copy-id on a server running on a nonstandard port, I learned that I could use $ ssh-copy-id '-p 1234 name@server' to pass the port option through to ssh. This ability is not documented on the man page, and I thought it was a normal use case and worth putting in the documentation.
I'm not sure if that's a feature or an accident of the implementation. The only reason it works is that $1 is not quoted in this line: { eval "$GET_ID" ; } | ssh $1 [...] I would have expected the canonical way to do this would be to put a port directive into your ~/.ssh/config, eg Host server Port 1234
retarget to openssh-6.3
Updated script/manpage committed for openssh-6.2
mark bugs closed by openssh-6.2 release as CLOSED