Unix/Linux/whatever should have just forbidden spaces in filenames in the first place since none of the basic tools make it easy iterate over a list of filenames with spaces correctly.
Also, many of the basic tools have a -0 option which uses the null character to replace many uses of space. Still far from an adequate solution though.