A partir da resposta de Joseph R., esta é minha solução para fazê-lo funcionar com o find, pois eu não poderia fazer o comando dele funcionar. (Acho que não, devido às regras aplicáveis \+: não pode haver nada após o{} elemento.) (Não pude comentar. Este parágrafo inteiro pode realmente ser removido.)
Para copiar todos os arquivos no mesmo diretório (aqui target/directory):
find directory/to/copy -type f -exec install -Dm 755 "{}" "target/directory" \;
-D não é obrigatório aqui, apenas criará os diretórios inexistentes para o destino.
Para copiar uma hierarquia de diretórios inteira e seus arquivos (isso omitirá diretórios vazios) a partir de onde você está:
find directory/tree/to/copy -type f -exec install -Dm 755 "{}" "target/directory/{}" \;
Como dito, isso recriará a árvore a partir de $PWD. Além disso, se você precisar copiar o diretório vazio, poderá encontrar uma maneira de usar o -type dde findeinstall -d .
Portanto, para copiar a árvore, iniciando em um diretório que não seja $PWD:
(cd parent/directory && find directory/tree/to/copy -type f -exec install -Dm 755 "{}" "target/directory/{}" \;)
Observe como parent/directorynão é copiado.
Extra
Para quem usa shell/fish, aqui está a linha que faz o mesmo:
fish -c 'cd parent/directory; and find directory/tree/to/copy -type f -exec install -Dm 755 "{}" "target/directory/{}" \\;'