The sentence indicates an action that started in the past and continues into the present (present perfect tense). In this context, "for" is the correct choice to indicate the duration of time during which the eagle has been flying. "Since" is used to pinpoint a specific point in time when an action started, and it doesn't convey the duration. "Over" and "before" are not appropriate in this context.
Therefore, the correct sentence is: "Eagle has been flying in the sky for last week."