Hurricane Gustav has hit a deserted US Gulf coast but delivered only a glancing blow to New Orleans before weakening and heading inland.