Si, puoi
some_array[offset..-1].each_with_index{|item, index| some_func(item, index) }
some_array[offset..-1].each_with_index{|item, index| some_func(item, index+offset) }
some_array[offset..-1].each_with_index{|item, index| index+=offset; some_func(item, index) }
UPD
Inoltre dovrei notare che se l'offset è maggiore della dimensione dell'array, sarà comunque un errore. Perché:
some_array[1000,-1] => nil
nil.each_with_index => Error 'undefined method `each_with_index' for nil:NilClass'
Cosa possiamo fare qui:
(some_array[offset..-1]||[]).each_with_index{|item, index| some_func(item, index) }
O per prevalidare l'offset:
offset = 1000
some_array[offset..-1].each_with_index{|item, index| some_func(item, index) } if offset <= some_array.size
Questo è un po 'hacky
UPD 2
Per quanto riguarda l'aggiornamento della domanda e ora non è necessario l'offset dell'array, ma l'offset dell'indice, quindi la soluzione @sawa funzionerà bene per te