Слово образовано от исчезнувшего из языка глагола остолпети, который раньше означал буквально "остолбенеть" - то есть стать столбом от удивления. Позже остолоп превратился в ругательство, получив оскорбительные значения дурак, болван, глупый как деревянный столб.