In this scenario, a viable approach could be making
CommandA available globally (for multiple modules). There is a topic in the Composite Application Guidance for WPF & Silverlight, that explains how to get this done:
How to: Create Globally Available Commands
If you would like more details about commands, and when to use each of the different possible combinations with them, you could check the following topics in the Prism-v2 documentation:
How to: Create Locally Available Commands
Another good alternative would be to register the command in the container using a string key to differentiate between commands:
container.RegisterInstance<ICommand>("Module1Command",myCommand); //Container is an instance of the Unity Container
Then you can get the same command in another module like this:
ICommand module1Command = container.Resolve<ICommand>("Module1Command");
Once you have an instance of the command you will be able to bind it to a control of your choosing.
The approach you decide to take, if it is one of the above or not, depends on your specific application’s needs.
Please let me know if this helps.