find: No match due to find command being argument

I am using csh and getting the error "find: No match." but I cannot figure out why. What I am trying to do is set the find command to a variable and then execute the variable as a command. I ran it through a debugger and it looks like $FIND is getting set but the find command can not actually be found. Here is what the debugger produced:

The actual code states:

set LIST = "find orion/ic -path *arg*"
${LIST} -name "*.ic"

However, the code does work when *arg* is not included in the definition of $LIST. *arg* does need to be in quotes though.

set LIST = "find orion/ic -path"
${LIST} "*arg*" -name "*.ic"

As a result, I tried to put quotes around *arg* when it was part of $LIST, but I received the same "No match" error.

This code is being added to an already existing script, so csh MUST be used.

Hi.

I do believe, after looking at this that I am a confirmed C-Shell disliker (previously I was just an unconfirmed C-Shell disliker!).

But perhaps you can incorporate a little bit of normality in you csh script:

#!/bin/csh
set LIST="find orion/ic -path *arg*"
ksh << !
$LIST
!
 
 
Output:
orion/ic/blah/11111argZZZ
orion/ic/blah/123argXYZ

Using only csh, I get this:

#!/bin/csh
set LIST="find orion/ic -path *arg*"
#ksh << !
$LIST
#!
/root/tmp2 # ./Test
find: No match.
 

I do not like csh either, but the script I was modifing was already written in the language. Good idea about about putting ksh in there, and I might do that next time. What I ended up doing was just writing the command to a tmp file and then running the tmp file. Not the most elegant solution, but it got the job done.