Your program will never automatically open a terminal for you -- unlike Windows, normal programs don't
create terminals, they just inherit them from whatever ran them. This means the terminal must first be created, then the program run inside it. This has the advantage that you can choose if you want a program to be run in a terminal without changing the program itself, something that many Windows programs can't handle gracefully.
If you must have something that opens your program in a shell window when clicked on, you should make a seperate script file to do this, something like:
Code:
#!/bin/sh
exec xterm -e /path/to/program arguments
xterm will launch a new console window, and your program will be run inside it.