Você pode obter uma saída shell-quoted usando o @Q modificador de expansão no Bash 4.4 e posterior:
$ echo "$timeStamp" - Executing command: sudo /home/editini.sh "${@@Q}"
Mon 04/16/18 04-05-pm - Executing command: sudo /home/editini.sh 'one' 'two' 'three' 'four' 'five' 'six'
Ele usa aspas simples, em vez de duplas, mas garante que a saída seja válida como entrada de volta para o shell que faz o que você espera. Um exemplo de onde isso é importante está abaixo, mas se o seu formato de log requerer aspas duplas, não é útil.
Um pouco confuso, ${@@Q} usa o @ para dois significados diferentes em caracteres consecutivos: o primeiro @ representa o array de argumentos, enquanto o segundo introduz um modificador que transforma a saída da expansão do array. O modificador Q faz com que a saída seja citada. $@ se expande para cada elemento individualmente, diferente de $* , mas provavelmente não importa neste caso (embora isso possa acontecer se o seu código real for mais complexo).
@Q e printf %q , usam aspas simples porque elas inibem outras expansões de shell - se um dos argumentos tiver $ , ' , \ , " ou ! em qualquer coisa com aspas duplas será suspeita. @Q garante que o termo every seja citado, mesmo que não exija necessariamente (enquanto printf não o exige). Os espaços ainda são manipulados corretamente.
$ set -- 'o$ne' "t w o" th\'ree fo\ur five\! s\"i\'x
$ echo "$timeStamp" - Executing command: sudo /home/editini.sh "${@@Q}"
Mon 04/16/18 04-05-pm - Executing command: sudo /home/editini.sh 'o$ne' 't w o' 'th'ree' 'fo\ur' 'five!' 's"i'\''x'
Você poderia copiar esse comando de volta e ele simplesmente funcionaria, não importando o quanto a entrada fosse perversa.