The reason for this issue was, I was using {ITEM.LASTVALUE} in my Action, which caused this problem. I have changed this to {ITEM.VALUE}. Which fixed the issue.
Do you have SELinux enabled in your server? I've bitten by it several times in the similar situations while using Zabbix.
If getenforce returns enabled for you, then it's time to see /var/log/audit directory logs and see what particularly prevents Zabbix running the script.
Best Answer
Zabbix supports user-defined scripts, here it is: http://www.zabbix.com/documentation/ru/2.0/manual/web_interface/frontend_sections/administration/scripts