I found a problem using libicns's icontainer2icns command, it doesn't have an option to specify output folder but just put all extracted .icns files in current working directory.
For example, there is a file named "source.icontainer" under "/home/user/test"
user@localhost:/home/user$ icontainer2icns test/source.icontainer
Running above command will resulted in all .icns files be extracted to /home/user but not /home/user/test folder.
Is there a way to redirect all extracted files to whatever folder i specify?