The fire command used in the format you are using will only work with the weapon presently equiped. To make a unit fire a weapon in his inventory that is not equiped you have to use the more complex format:
soldierOne fire ["throw","HandGrenade","HandGrenade"]
"throw" is the muzzel, "hangrenade" is the mode and "handgrenade" is also the magazine.