time tem algo feito para ser usado para isso:
nohup time -o runtime.out ./main &> /dev/null &
Se fosse um script e não exigisse um tty, prefiro usar setsid than nohup + & , porque ele "daemoniza" melhor e ainda pode receber um sinal HUP , se necessário.
setsid time -o runtime.out ./main </dev/null &>/dev/null
Observe também que aqui (como na pergunta do OP) time é /usr/bin/time , que tem um formato de saída diferente do comando builtin time do bash. Parece que /usr/bin/time --portability fornece uma saída semelhante, se necessário.