Aquí hay algunas respuestas conceptuales que podrían funcionar, y potencialmente se pueden expandir para lanzar cualquier aplicación en cualquier espacio de máquina virtual, aunque de forma insegura.
Método 1. Cajas desplegables.
Cada máquina virtual tiene un directorio compartido desde la máquina host. Este directorio debe ser de escritura pública.
Un script en cualquier máquina puede escribir un archivo en cualquiera de estos directorios.
Cada máquina virtual supervisa su directorio, y cuando el archivo se ha cerrado, lo ejecuta inmediatamente y elimina el archivo.
Esto es increíblemente inseguro. Como mínimo, el programa de ejecución debe estar limitado en cuanto a los programas que puede ejecutar.
Método 2. Ssh.
En general, el comando es
ssh user @ hostname -c "Línea de comando y parámetros entre comillas"
Esto se puede implementar MUCHO más seguro
Método 3. Netcat. Podría ser más valioso si tuviera un flujo semicontinuo de comandos desde la máquina A a la máquina VM B. La salida de netcat en la máquina cliente podría alimentarse a bash. Este es un truco para recuperar los resultados, ya que los comandos de shell en segundo plano tendrán resultados superpuestos. Sin embargo, si está satisfecho con los resultados de la línea de comandos, un simple ssh para la máquina virtual sería suficiente.
Espero que otras personas mejoren esta respuesta, pero puede darte cosas con las que puedes comenzar a jugar.
Habría ingresado esto como un comentario y no como una respuesta, pero los comentarios son demasiado pequeños.