zsv_write_scriptnames

prepare || exit $?

if [[ -n $zsv_su_user ]] then
	cmd=( "${(qqq)run[@]}" "${(qqq)args[@]}" )

	if [[ -n $cwd ]]; then
		cmd=( cd "${(qqq)cwd}" '&&' "${cmd[@]}" )
	fi

	exec su - $zsv_su_user -c "$cmd"
fi

if [[ -n $cwd ]]; then
	cd $cwd || exit $?
fi
exec "${run[@]}" "${args[@]}"
# vim: ft=zsh noet ts=4 sts=4 sw=4