 <p>Where you will have a problem is when find descends into subdirectories, and it tries to exec something like <code>cp ./foo/bar.txt /new/path/./foo/bar.txt</code> and "/new/path" has no subdirectory "foo" -- you might want to:</p> <ul> <li><p>specify <code>-maxdepth 1</code> so you do not descend into subdirs</p> <pre><code>find . -maxdepth 1 -type f -exec cp {} /new/path/{} \; </code></pre></li> <li><p>just use a directory destination for <code>cp</code>, so the files end up in a single dir (will suffer from collisions if you have "./foo/bar.txt" and "./qux/bar.txt")</p> <pre><code>find . -type f -exec cp -t /new/path {} + </code></pre></li> <li><p>use <code>tar</code> to copy the whole tree: this will preserve directory structure</p> <pre><code>tar cf - . | ( cd /new/path &amp;&amp; tar xvf - ) </code></pre></li> </ul>