recursive search and copy

Hello again.

Well, I need help again sooner as I thought. Now I want to search for files with a known name within all subdirs, and copy the to differently named files in the same directory.

For example if I had only one file to copy, I would just use

cp fileName newFileName

but to do this recursively I would probably need find. I think I need something like

find . -name fileName -exec cp {} ... \

but I don't know how to put the target path instead of ...
As far as I know, the find output {} includes both path and filename "foundPath/fileName". I have to somehow keep the path, but to replace the filename through the new filename, to get "foundPath/newFileName".

Best regards

something like this ?

it will change the filename to filename.new

 
find . -type f -name "filename*" | while read f; do cp $f $f.new; done