Checkout smartctl. You can either force shutdown immediately or after some idle time. Command is something like this:
smartctl -n -s standby,VALUE /dev/sda with value either "now" or something between 0 and 255. From the manpage:
Values from 1 to 240 specify timeouts from 5 seconds to 20 minutes in 5 second increments. Values from 241 to 251 specify timeouts from 30 minutes to 330 minutes in 30 minute increments. Value 252 specifies 21 minutes. Value 253 specifies a vendor specific time between 8 and 12 hours. Value 255 specifies 21 minutes and 15 seconds.