Você pode usar systemctl set-environment
para enviar alguns valores para execuções futuras do serviço. Por exemplo, com uma unidade:
[Unit]
Description=testing
[Service]
Type=oneshot
ExecStart=/my/command myarg1 ${MYDONE}
ExecStart=/usr/bin/systemctl set-environment MYDONE=1
[Install]
No primeiro systemctl start <unit>
o último arg passado para /my/command
será ''
e MYDONE
não estará no ambiente. Em versões posteriores, o último argumento será 1
e MYDONE=1
estará no ambiente.