У них разный корень.
Слово "раб" происходит от слова "орб" - которое означало "осиротевший, лишённый чего-то". Потом оно превратилось в "роб" (отсюда же родом слово "ребёнок", кстати), а уже потом - превратилось в "раб".
А у слова "араб" точное значение неизвестно (хотя, возможно, оно обозначает что-то вроде "жители пустыни" и родом из семитских языков), но появилось оно аж до нашей эры - когда в русском языке (а точнее, в языках, которые были предками русского) такой схожести и в помине не было.
Если бы слово "араб" было родом из древних славянских языков, то оно и изменилось бы, как все остальные слова этих языков, и в современном русском писалось бы через "о" - "ораб".
Эдуард Волков, "раб" раньше появилось. Ребёнок - это маленький беспомощный человек, а работа - это занятие взрослого беспомощного человека =) Они просто из одного источника произошли и параллельно в разные стороны развивались.
Если бы слово "араб" было родом из древних славянских языков, то оно и изменилось бы, как все остальные слова этих языков, и в современном русском писалось бы через "о" - "ораб".
---------------------------------
буквы О и А в словах не стоит акцентировать как нечто основополагающее. Всё зависит от акцентов, которые меняются через каждые 100 км. Американцы говорят ОК, а австралийцы АК, не говоря уже о акающих москвичах.