ssh-copy-id hat laut man leider kein Parameter für einen Port. Nutzt aber zur Ausführung den normalen SSH.
Somit kann man recht einfach einen Parameter an SSH übergeben:
ssh-copy-id -i /path/to/id_foobar.pub "-p 2222 user@server"
via Hint: ssh-copy-id and different ssh port | Julian Joswig.