Lets say you want to execute "script.sh"
1. If you have script.sh inside your WF/lib/ path on HDFS, you just need <exec>script.sh</exec>
2. If you have script.sh on an arbitrary path on HDFS, you need:
<exec>script.sh</exec>
<file>/path/to/script.sh#script.sh</file>
3. Use of the below form with (1) is redundant, but the subsequent form is when you want to invoke it as a different name:
<exec>script.sh</exec>
<file>script.sh#script.sh</file>
<exec>linked-script-name.sh</exec>
<file>original-script-name.sh#linked-script-name.sh</file>