Passing an environment variable as a parameter makes no sense, whatsoever. The semantic of parameters is totally defined by the application used to run as a child process. This application received a command line string (which more usually typed in the console after the name of the application file) and processed by the application, according to its semantic.
Even though, speculatively speaking, the semantics of some command line parameters of the application might mean the name and/or value of an environment variable, no reasonable application will use such semantic, because it would not make any sense at all.
The environment variables play the role of "global constants" or rather "global read-only values", global to the system. They are used for some global settings and never changed during run-time of any application, excluding rare cases when one needs to change some global settings or add some settings. Sometimes it happens as a result of installation of a new software product.
Moreover, using environment variables for installation (and later run time) of any application is the indication of a really bad style of configuration, or maybe the way of backward compatibility with some software legacy. More appropriate style is using system isolated configuration or settings files, per application.
For more detail, please see
http://en.wikipedia.org/wiki/Environment_variable[
^].
[EDIT]
The error message is explained in my comment to the comment by JackDingler to the original question, please see.
—SA