To do this, you must know the names of the programs, pass parameters each time you run them and include the programs in your search path. Instead of calling applications from the terminal, you can use an application starter, a program that shows a list or menu of installed applications and lets you choose the one to start.
Some starters show pretty icons and are very appealing with features like clocks, load meters, etc.
The problem is that each starter has a different way of describing the list of installed applications. Usually, this information is written in a text file in some format. For example, the starter of FVWM reads the .fvwmrc file for this information. If you use various WMs, things can get a bit messy. Creating a standard format, location and name for application starters simplifies the process of creating, changing and exchanging information.