As an addition to
Corion's comments, it also depends on where your alias is specified, and which shell you are using. Even if
system does invoke a shell it will be a Bourne shell (/bin/sh -c). So if, for example, your aliases are defined in ~/.kshrc then that will not be read. If you invoke your shell explicitly then you should carefully note which startup files are executed for non-login non-interactive sessions. For example, Korn shell 88, Korn shell 93, and Bash all have different rules for that.
Personally I would discourage use of aliases anywhere except as an interactive keyboard productivity aid - they are a support nightmare when used in scripts.