Você não precisa armazenar a saída de sua consulta de banco de dados em uma variável.
app/oracle/product/10.2.0/bin/sqlplus -s user/passwd <<END_SQL | while IFS= read -r thing; do X="$thing" Y="$(date)" ./test.sh; done
set pages 0 echo off feed off timing off
select entity_name,uid,set_date from table_name;
exit
END_SQL
Isso leria a saída do comando sqlplus
e chamaria seu script uma vez para cada linha, configurando o valor das variáveis de ambiente X
e Y
no processo.