Stockage du temps et du programme dans des variables distinctes

Avec bash, comment puis-je stocker le temps nécessaire à l’exécution de mon programme dans une variable et la sortie de mon programme dans une autre variable? Je sais que le time envoie sa sortie à stdout ; le plus proche que j’ai est la suivante:

 exec 3>&1 4>&2 time_output=$( { time echo hello world 1>&3 2>&4; } 2>&1 ) 

mais “Bonjour tout le monde” est imprimé sur le terminal. Comment capturer “Bonjour tout le monde” à une autre variable?

J’ai aussi essayé:

 prog_output=$(time_output=$( { time echo hello world 1>&3 2>&4; } 2>&1 ) ) 

mais cela ne fonctionne pas. prog_output ne contient rien et “hello world” est imprimé sur le terminal.

Est-ce que cela fonctionnerait pour vous?

 prog_output=`( time ls ) 2> time_output` time_output=`cat time_output`