Você pode simplesmente copiar tudo com
cp -rf
e exclua diretórios ocultos no destino com
find -type d -name '.*' -and -not -name '.' -print0 | xargs -0 rm -rf
Alternativamente, se você tiver algum tar avançado (por exemplo, o GNU tar), você poderia tentar usar tar para excluir alguns padrões. Mas receio que não seja possível excluir apenas diretórios ocultos, mas incluir arquivos ocultos.
Por exemplo, algo assim:
tar --exclude=PATTERN -f - -c * | tar -C destination -f - -x
Btw, o GNU tar tem um zoológico de opções de estilo de exclusão. Meu favorito é
--exclude-vcs