What is wrong with spaces in file names? When my wife was doing research for her thesis she had all the papers she was citing named with the full title of the paper. Linux handled it fine, and it seemed utterly modern and natural to me.
cp ${FILENAME} /tmp
Here you should have done:
cp "${FILENAME}" /tmp
Also, GNU make, still one of the cornerstones of building C and C++ libraries (since CMake and Autotools most commonly use that backend) cannot handle spaces in paths at all well.
Though as @kalefranz said already, we do allow it on Windows, we just warn loudly.
The shell is deciding whether something is one arg or more, and passing the arg list to the tools.
[0] https://stackoverflow.com/questions/14718720/how-can-i-scp-a...
C:\Program Files\Python 3.0\ vs C:\bin\python3
(when I was using windows, I installed python in c:\bin because I knew I would be typing it quite a bit)