Assumindo que isso está realmente em um script de shell e não em algo como um Makefile ...
Não há absolutamente nenhuma diferença no shell entre $variable e ${variable} . Eles são intercambiáveis.
Pode-se usar ${variable} se for para ser expandido como parte de uma string e o caractere imediatamente seguinte for um caractere que seja válido como parte de um nome de variável, por exemplo, como em "${variable}A" .
Portanto, usar ${variable} não explica a diferença que você vê.
A única coisa certa é que JAVA_OPTS parece ter um valor diferente na segunda invocação.