Never thought the space i "Program Files" would be a problem in Linux
You're thinking about how a blank space is valid in directory names for Linux (and MS Windows). In that scenario, the spaces are already embedded, i.e. they're part of the data.
That's different than a program's command-line input, which is a random string of text that must be parsed. A command line can include more than one parameter, separated by spaces. In this context, spaces are interpreted as data delimiters, not as the data per se. For the blank spaces to be seen as data, they must be enclosed by quotes or "escaped" in a way that flags them as being part of the input that should be passed to the application program.