Os exemplos que você mostra fazem exatamente o que você está procurando. Portanto, embora um parâmetro de linha de comando não funcione, uma variável de ambiente será. E você pode especificar variáveis de ambiente 'one-time' na linha de comando, precedendo o comando.
A maioria, se não todos, o software baseado em Java honrará a variável de ambiente JAVA_HOME
e executará a JVM localizada abaixo desse diretório. O Maven certamente faz isso: dê uma olhada em less $(which mvn)
e veja quanto esforço ele faz para acertar isso.
Note que - no caso específico do Maven - se o seu objetivo é compilar fontes Java para uma versão mais antiga da JVM, então não há necessidade de alternar as JVMs. Em vez disso, especifique as versões Java de origem e de destino em seu POM.