Если уж и использовать find, то лучше так:
find /tmp/src -type f -exec cp -p -t /tmp/dst {} \+
сработает гораздо быстрее вашего варианта.
т.к. с \; на конце будет на каждый файл будет запускаться новый процесс, а в случае с \+ будет запускаться один процесс на много файлов. find сам разрулит сколько файлов можно впихнуть в аргументы за один раз.
ps. Первый раз вижу cp в /sbin.