find Path/to/source-folder/ -name '*.*' -exec mv {} Path/to/destination-folder/ \;
Argument list too long for mv,cp,rm commands (Bash)
The reason this occurs is because bash actually expands the asterisk to every matching file, producing a very long command line.
Solution