According to the man pages: startx [ [ client ] options ... ] [ -- [ server ] options ... ] [...] snip "If command line client options are given, they override this behavior and revert to the xinit(1) behavior" xinit: "The xinit program is used to start the X Window System server and a first client program on systems that cannot start X directly from /etc/init or in environments that use multiple window systems." however, if my .xinitrc contains the single command "kde" e.g. and I enter "startx gnome", the client (gnome in this example) is ignored and kde is started. If I have no .xinitrc and I issue the command "startx kde", twm is started! In anothter test, I changed .xinitrc to the single command "ooffice" and issued startx. Up came openoffice.org, as expected. Next, I removed .xinitrc and issued the command "starx ooffice". Openoffice.org did not start, just twm (the default window manager in my install).
The xinit man page also says: "Both the client program name and the server program name must begin with a slash (/) or a period (.). Otherwise, they are treated as an arguments to be appended to their respective startup lines. This makes it possible to add arguments (for example, foreground and background colors) without having to retype the whole command line." The commands in your examples are missing the required starting / or .
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.