Sua linha exec será dividida em espaços e cada palavra passada como um argumento para o comando. A solução mais simples para você é colocar o comando inteiro entre aspas simples e adicionar /bin/bash -c
na frente dele:
ExecStart=/bin/bash -c 'exec /usr/bin/jsvc -user ... -pidfile'
Use -cv
inicialmente para poder ver nos registros qual linha foi passada. Eu também presumo que você queira $()
não ${}
, que systemd não estará expandindo.