Ecco alcune risposte concettuali che potrebbero funzionare e potenzialmente possono essere espanse per avviare qualsiasi app in qualsiasi spazio della macchina virtuale, anche se non del tutto.
Metodo 1. Rilasciare le scatole.
Ogni VM ha una directory condivisa dal computer host. Questa directory deve essere pubblicamente scrivibile.
Uno script su qualsiasi macchina può scrivere un file su una di queste directory.
Ogni VM monitora la sua directory e, quando il file è stato chiuso, lo esegue immediatamente ed elimina il file.
Questo è incredibilmente insicuro. Al minimo il programma di esecuzione dovrebbe essere limitato in quali programmi può essere eseguito.
Metodo 2. Ssh.
In generale il comando è
ssh user @ hostname -c "Riga di comando e parametri tra virgolette"
Questo può essere implementato MOLTO più sicuro
Metodo 3. Netcat. Potrebbe essere più utile se si avesse un flusso semi-continuo di comandi dalla macchina A alla macchina virtuale B. L'output di netcat sulla macchina client potrebbe essere inviato a bash. Questo è un trucco per ottenere i risultati, in quanto i comandi di shell in background avranno risultati sovrapposti. Tuttavia, se si fosse soddisfatti dei risultati della riga di comando, sarebbe sufficiente un semplice ssh per la VM.
Mi aspetto che altre persone migliorino questa risposta, ma potrebbe darti delle cose con cui iniziare ad armeggiare.
L'avrei inserito come commento e non come risposta, ma i commenti sono troppo piccoli.