(почти) ничего не будет работать, пока вы используете фигурные скобки. Лучшее предложение - использовать команду list:
set confCmds [list command1 command2 $cmd_ts]
Я говорю (почти), потому что вы можете использовать subst для подстановки переменных в confCmds, но это не совсем то, что вам нужно, и это чревато опасностью. То, что вы хотите, это список слов, одно или несколько из которых могут быть определены переменной. Это именно то, что дает вышеуказанное решение.
Если вы хотите, вы можете разместить команды более чем на одной строке, используя обратную косую черту:
set confCmds [list \
command1 \
command2 \
$cmd_ts \
]
Это решение предполагает, что вам нужен список tcl. Это может или не может быть то, что вы хотите, все зависит от того, как вы обрабатываете эти данные вниз по течению.
В комментарии вы написали, что вам действительно нужна строка разделенных новой строкой элементов, в этом случае вы можете просто использовать двойные кавычки, например:
set confCmds "
command1
command2
$cmd_ts
"
Это даст вам строку с несколькими строками, разделенными символами новой строки. Будьте осторожны, пытаясь рассматривать это как список команд (то есть: не делайте 'foreach foo $ confCmds'), потому что он может завершиться ошибкой в зависимости от того, что находится в $ cmd_ts.