You use the readlink command to get the name of the target. The result contains the path to the link, so if you just want the filename (not the full path), you need to remove anything preceeding the last /. You might use it like this.
for f in *; do
cp "$f" "/path/to/put/files/$orig_basename"
...which could copy all the files which were linked to from /dir/with/all/your/symlinks, and put them in /path/to/put/files/ with their original filenames. Be careful about over-writing files with duplicate names though... maybe you should add -i to the cp command.