<p>In Ant is there any way to do something like this:</p>

<pre><code>&lt;arguments id="arg-list"&gt;
    &lt;arg value="arg1" /&gt;
    &lt;arg value="arg2" /&gt;
&lt;/arguments&gt;

&lt;property name="prop1" refid="arg-list" /&gt;
</code></pre>

<p>I'm trying to write a macro for psexec and I'm looking for a nice way to pass in the argument list.</p>

<p>I know that you can do something similar with classpaths...</p>

<p>Thanks!</p>

I don't know of an answer to your specific question. The documentation is clear that refid 'Only yields reasonable results for references to PATH like structures or properties.'
Without a bit more information on what you're trying to do, it's hard to comment. At the risk of changing your design, rather than answering your question, I suggest:
1) You can pass the argument list to exec as a line:
```
```
<macrodef name="example">
  <attribute name="args"/>
  <sequential>
    <exec executable="example.exe">
      <arg value="somearg" />
      <arg line="@{args}"/>
    </exec>
  </sequential>
</macrodef>

<example args="somearg arg1 arg2"/>
```
```
Which will run example.exe:
```
```
example.exe arg1 arg2
```
```
2) I pass in arguments to macros that call external apps like this:
```
```
<macrodef name="example">
  <element name="params" optional="yes" implicit="yes"/>
  <sequential>
    <exec taskname="eg" executable="example.exe">
      <arg value="somearg" />
      <params />  
    </exec>  
  </sequential>
</macrodef>

<example>
  <arg value="arg1"/>
  <arg value="arg2"/>
</example>
```
```
This will run example.exe:
```
```
example.exe somearg arg1 arg2
```
```
I hope I haven't been teaching my grandmother to suck eggs here.