Você precisa criar uma variável intermediária para executar a operação:
set faceAttenRuns = ( 09 13 )
set runTypes = ( sceneLoc faceAtten faceNorm )
set varname = "$runTypes[2]Runs"
echo "set run = "\$"${varname}[1]:q" # this will show you what is going to be evaluated
eval "set run = "\$"${varname}[1]:q"
echo "result=<$run>"
Resultado
set run = $faceAttenRuns[1]:q
<09>
Aqui está uma versão sem empregar quaisquer variáveis intermediárias:
#!/bin/csh -f
set faceAttenRuns = ( 09 13 )
set runTypes = ( sceneLoc faceAtten faceNorm )
echo "set run = "\$"{${runTypes[2]}Runs[1]:q}"
eval "set run = "\$"{${runTypes[2]}Runs[1]:q}"
echo "result=<$run>"