The US military is not ready to strike Iran because of limited options and capabilities, officials have privately warned.